package ifrn.edu.br.tads.grafo;

import java.util.PriorityQueue;

public class CarteiroChines {

	public static void percorrerCaminhos(Vertice buscar)
	{
		buscar.setMenorDistancia(0.);
		PriorityQueue<Vertice> verticeFila = new PriorityQueue<Vertice>();
		verticeFila.add(buscar);

		while (!verticeFila.isEmpty()){
			Vertice vertice = verticeFila.poll();


			for (Aresta aresta : vertice.getArestas()) {
				
				Vertice v = aresta.getDestino();
				double peso = aresta.getPeso();
				
				double distVertices = vertice.getMenorDistancia() + peso;

				if (distVertices < v.getMenorDistancia()) {
					verticeFila.remove(v); 
					v.setMenorDistancia(distVertices);
					v.setAnterior(vertice);
					verticeFila.add(v);
				}
			}
		}
	}

}
